package com.bbx.api.gclient;

import java.util.LinkedList;
import java.util.List;





/**
 * 推送到每个继承Observer的类，然后在该类判断返回类型是否符合自己，符合的话，执行自己想要的操作
 */
public class GMsgPublisher {
	private List<Observer> mObs = new LinkedList<Observer>();
	/**
	 * 添加想要推送的类
	 */
	public void addOb(Observer ob){
		if(!mObs.contains(ob)){
			mObs.add(ob);
		}
	}
	/**
	 * 移除要推送的类
	 */
	public void removeOb(Observer ob){
		mObs.remove(ob);
	}
	 /**
	 * 推送到每个继承Observer类
	 */
	public void publish(GMsg notify) {
		 for (int i = 0; i < mObs.size(); i++) {
	        	Observer ob = mObs.get(i);
	        	ob.onNotify(notify);
	        }
	 }
	public void clear() {
		mObs.clear();
	}
}
